﻿<!--
	
var nav4 = window.Event ? true : false;	
	
 /****************************************************************************/
 /******************* Metodos comunes a todas las páginas ********************/
 /****************************************************************************/
	
<!--
var Open = ""
var Closed = ""

function preload(strPathAplicacion_l)
{
	if(document.images)
		{
		//Imagenes para elementos del menu de primer Nivel
		Open = new Image(6,9);    
		Closed = new Image(9,6);
		Open.src = strPathAplicacion_l +"/images/mn-seccion-open.gif";

		Closed.src = strPathAplicacion_l + "/images/mn-seccion.gif";
		//Imagenes para elementos del menu de segundo Nivel
		Open1 = new Image(6,9);    
		Closed1 = new Image(9,6);
		Open1.src = strPathAplicacion_l +"/images/mn-seccion-open.gif";
		Closed1.src = strPathAplicacion_l + "/images/mn-seccion.gif";
		}
}


function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}
 /*-------------------------------------------------------------------------------*/
 /*----------------- Fin Metodos comunes a todas las páginas ---------------------*/
 /*-------------------------------------------------------------------------------*/


 /****************************************************************************/
 /*************** Metodos para controlar la barra de acciones ****************/
 /****************************************************************************/

function popUpEstadosValidation(startDate,endDate,infoAdicional) 
{ 
	var strMensaje = '';
	var returnValue = true;
	
	var txtStartDate = document.getElementById(startDate);
	var txtEndDate = document.getElementById(endDate);
	var txtInfoAdicional = document.getElementById(infoAdicional);
	
  if(txtStartDate!=null) 
  {
		if (!txtStartDate.disabled && txtStartDate.value == '')
		{
			strMensaje += "El campo fecha inicial de vigencia es obligatorio.\n";
			returnValue = false;
		}
   }
  
  if(txtEndDate!=null)  
  {
		if(!txtEndDate.disabled && txtEndDate.value == '') 
		{
			strMensaje += "El campo de fecha final de vigencia es obligatorio.\n";
			returnValue = false;
		}
	}
  
  if (txtInfoAdicional!=null)
  {
		if(!txtInfoAdicional.disabled && txtInfoAdicional.value == '') 
		{
			strMensaje += "El campo informaci\u00f3n adicional es obligatorio.\n";
			returnValue = false;
		}
	}
	
	if (txtEndDate!=null && txtEndDate!=null)
	{
		if (!txtStartDate.disabled && !txtEndDate.disabled && txtStartDate.value != '' && txtEndDate.value != '')
		{
			var sDate = ParseDate(txtStartDate.value);
			var eDate = ParseDate(txtEndDate.value);
		
			if (sDate >= eDate)
			{
				strMensaje = "La fecha inicial debe ser menor que la fecha final";
				returnValue = false;
			}
		}
	}
		
	if (!returnValue)
	{
		alert('Por favor verifique los siguientes campos:\n\n' + strMensaje);
	}
	
	return returnValue;
 }

function ParseDate( str1 )
{
  // Parse the string in DD/MM/YYYY format
  re = /(\d{1,2})\/(\d{1,2})\/(\d{4})/
  var arr = re.exec( str1 );
  return new Date( parseInt(arr[3]), parseInt(arr[2], 10) - 1, parseInt(arr[1], 10) );
}

function select_deselectAll (chkVal, idVal) 
{ 
    var frm = document.forms[0];
    var obj;
    // Loop through all elements
    for (i=0; i<frm.length; i++) 
    {
		
   
        // Look for our Header Template's Checkbox
        if (idVal.indexOf ('CheckAll') != -1) 
        { 
						 
            // Check if main checkbox is checked, then select or deselect datagrid checkboxes 
            
            if(chkVal == true) 
            {
								
								if (frm.elements[i].id.indexOf ('chkId') != -1)
									frm.elements[i].checked = true;
            } 
            else 
            {
								if (frm.elements[i].id.indexOf ('chkId') != -1)
									frm.elements[i].checked = false;
            }
            // Work here with the Item Template's multiple checkboxes
        } 
        else if (idVal.indexOf('chkId') != -1) 
        {		
						    // Check if any of the checkboxes are not checked, and then uncheck top select all checkbox
            if (frm.elements[i].id.indexOf('CheckAll') != -1)
            {
							
							obj=frm.elements[i];
						}							
            else if(frm.elements[i].checked == false && frm.elements[i].id.indexOf ('chkId') != -1) 
						{
								obj.checked=false;
								//frm.elements[1].checked = false; //Uncheck main select all checkbox
						}
           
        }
    }
}

function confirmAprobar () 
{ 
		var frm = null;
		
		if (arguments.length > 0)
		{
			frm = arguments[0];
		}
		else
		{
			frm =document.forms[0];
		}

    // loop through all elements
    for (i=0; i<frm.length; i++) 
    {
        // Look for our checkboxes only
        if (frm.elements[i].name.indexOf("chkId") !=-1) 
        {
            // If any are checked then confirm alert, otherwise nothing happens
            if(frm.elements[i].checked) 
            {
                return confirm ('Esta seguro de aprobar los registros seleccionados?')
            }
        }
    }
    alert("Debe seleccionar por lo menos un registro");
    return(false);
}

function confirmAccion(accion) 
{ 		
		var frm;
		frm = document.forms[0];

    // loop through all elements
    for (i=0; i<frm.length; i++) 
    {
        // Look for our checkboxes only
        if (frm.elements[i].name.indexOf("chkId") !=-1) 
        {
            // If any are checked then confirm alert, otherwise nothing happens
            if(frm.elements[i].checked) 
            {
                return confirm ('Esta seguro de ' + accion + ' los registros seleccionados?')
            }
        }
    }
    alert("Debe seleccionar por lo menos un registro");
    return(false);
}

function confirmDelete () 
{ 
		var frm;
		
		if (arguments.length > 0)
		{
			frm = arguments[0];
		}
		else
		{
			frm =document.forms[0];
		}

    // loop through all elements
    for (i=0; i<frm.length; i++) 
    {
        // Look for our checkboxes only
        if (frm.elements[i].name.indexOf("chkId") !=-1) 
        {
            // If any are checked then confirm alert, otherwise nothing happens
            if(frm.elements[i].checked) 
            {
                return confirm ('Esta seguro de eliminar los registros seleccionados?')
            }
        }
    }
    alert("Debe seleccionar por lo menos un registro");
    return(false);
}

function confirmDesaprobar () 
{ 
		var frm;
		
		if (arguments.length > 0)
		{
			frm = arguments[0];
		}
		else
		{
			frm =document.forms[0];
		}

    // loop through all elements
    for (i=0; i<frm.length; i++) 
    {
        // Look for our checkboxes only
        if (frm.elements[i].name.indexOf("chkId") !=-1) 
        {
            // If any are checked then confirm alert, otherwise nothing happens
            if(frm.elements[i].checked) 
            {
                return confirm ('Esta seguro de desaprobar los registros seleccionados?')
            }
        }
    }
    alert("Debe seleccionar por lo menos un registro");
    return(false);
}

function confirmEdit() 
{ 
		var frm = null;
		
		if (arguments.length > 0)
		{
			frm = arguments[0];
		}
		else
		{
			frm =document.forms[0];
		}

    var j=0;
    for (i=0; i<frm.length; i++) 
    {
        // Look for our checkboxes only
        if (frm.elements[i].name.indexOf("chkId") !=-1) 
        {
            // If any are checked then confirm alert, otherwise nothing happens
            if(frm.elements[i].checked) 
            {
				j++;
				if (j!=1)
				{
					alert("Debe seleccionar solo un registro");
					return(false);
				}	
            }
        }
    }    
    if (j==0)
    {
			alert("Debe seleccionar por lo menos un registro");			
			return(false);
    }    
}

function confirmSave () 
{ 
	return confirm ('Esta seguro de grabar los cambios efectuados?');
}

function confirmDeleteRecord()
{
	return confirm('Esta seguro que desea eliminar el o los registros seleccionados?');
}

function confirmAccionRecord(accion)
{
	return confirm('Esta seguro que desea ' + accion + ' el o los registros seleccionados?');
}

function confirmReturn()
{
	return confirm('Esta seguro de salir de la pantalla actual?');
}

function VerificarStickers() 
{ 
	var frm = document.forms[0];	
    var j=0;
    for (i=0; i<frm.length; i++) 
    {      
      if (frm.elements[i].name.indexOf("chkId") !=-1) 
      {          
        if(frm.elements[i].checked) 
        {
			j++;					
        }
      }
    }
    if (j==0)
    {
			alert("Debe seleccionar por lo menos un registro");			
			return(false);
    }	
	return true;   
}

function verificarUnSeleccionado() 
{ 
		var frm = document.forms[0];
		
    var j=0;
    for (i=0; i<frm.length; i++) 
    {
      // Look for our checkboxes only
      if (frm.elements[i].name.indexOf("chkId") !=-1) 
      {
          // If any are checked then confirm alert, otherwise nothing happens
          if(frm.elements[i].checked) 
          {
						j++;
						if (j>1)
						{
							alert("Debe seleccionar solo un registro");
							return(false);
						}	
          }
      }
    }
    
    if (j==0)
    {
			alert("Debe seleccionar por lo menos un registro");			
			return(false);
    }
		
		return true;   
}
 /*-------------------------------------------------------------------------------*/
 /*--------------Fin Metodos para controlar la barra de acciones------------------*/
 /*-------------------------------------------------------------------------------*/
  
 /****************************************************************************/
 /**** Metodos para controlar la barra de acciones en controles ANTHEM *******/
 /****************************************************************************/

function accion_PreCallBack(accion) 
{
  return confirmAccion(accion);
}

function delete_PreCallBack(button) 
{
  return confirmDelete(document.forms[0]);
}

function approve_PreCallBack(button) 
{
  return confirmAprobar(document.forms[0]);
}

function disapprove_PreCallBack(button) 
{
	return confirmDesaprobar(document.forms[0]);
}

function update_PreCallBack(button) 
{
  return confirmEdit(document.forms[0]);
}

function evaluar_PreCallBack(button) 
{
  return confirmEdit(document.forms[0]);
}

function deleteRecord_PreCallBack(button) 
{
	return confirmDeleteRecord();
}

function accionRecord_PreCallBack(accion) 
{
	return confirmAccionRecord(accion);
}

function return_PreCallBack(button) 
{
	return confirmReturn();
}

function clausura_PreCallBack(button) 
{
	if (verificarUnSeleccionado())
	{			
		return confirm("Esta seguro de Clausurar la convocatoria seleccionada?");
	}
	else
	{
		return false;	
	}
}

 /*-------------------------------------------------------------------------------*/
 /*---Fin Metodos para controlar la barra de acciones en controles ANTHEM --------*/
 /*-------------------------------------------------------------------------------*/

 /*****************************************************************************/
 /** Otros metodos para controlar operaciones que requieren confirmación ******/
 /*****************************************************************************/
function getLoadConfirm() 
{ 
if (confirm("Esta seguro de cargar los datos de la variable seleccionada?")==true) 
	return true; 
else 
	return false; 
}		


function getExitConfirm(strMensaje) 
{ 
if (confirm(strMensaje)==true) 
	return true; 
else 
	return false; 
}			

function getHardDeleteConfirm(strMessage) 
{ 
if (confirm(strMessage)==true) 
	return true;
else 
	return false; 
}			

function confirmDeleteEvaluacion (frm) 
{ 
    // loop through all elements
    for (i=0; i<frm.length; i++) 
    {
        // Look for our checkboxes only
        if (frm.elements[i].name.indexOf("chkId") !=-1) 
        {
            // If any are checked then confirm alert, otherwise nothing happens
            if(frm.elements[i].checked) 
            {
                return confirm ('Esta seguro de eliminar las evaluaciones de los registros seleccionados?')
            }
        }
    }
    alert("Debe seleccionar por lo menos un registro");
    return(false);
}

function confirmDeleteCartas (frm) 
{ 
    // loop through all elements
    for (i=0; i<frm.length; i++) 
    {
        // Look for our checkboxes only
        if (frm.elements[i].name.indexOf("chkId") !=-1) 
        {
            // If any are checked then confirm alert, otherwise nothing happens
            if(frm.elements[i].checked) 
            {
                return confirm ('Esta seguro de eliminar las cartas de los registros seleccionados?')
            }
        }
    }
    alert("Debe seleccionar por lo menos un registro");
    return(false);
}


function confirmEstado (frm,strMensaje) 
{ 
    // loop through all elements

    var j=0;
    for (i=0; i<frm.length; i++) 
    {
        // Look for our checkboxes only
        if (frm.elements[i].name.indexOf("chkId") !=-1) 
        {
            // If any are checked then confirm alert, otherwise nothing happens
            if(frm.elements[i].checked) 
            {
				j++;
				if (j!=1)
				{
					alert("Debe seleccionar solo un registro");
					return(false);
				}	
            }
        }
    }    
    if (j==0)
    {
			alert("Debe seleccionar por lo menos un registro");			
			return(false);
    }    
    return(ConfirmEvaluado(strMensaje));    
}

function ConfirmEvaluado(strMensaje) 
{ 
if (confirm(strMensaje)==true) 
	return true; 
else 
	return false; 
}

function verificarFirma(chk)
{
	var bol=confirm("El proyecto esta firmado ?");
	chk.checked=bol;
	return(bol);
	
}


function SeleccionarItemActivo(item)
{
	item.style.color='#000000';
	item.style.fontWeight='bold';
}

function ValTarifa(sender, args)
 {	
		
    if (document.forms[0].opcPRO_REGIMEN_TRIBUTARIO_rdbSiNo_1.checked && document.forms[0].txtPRO_TARIFA.value=="")
    {
         args.IsValid = false;
         return;
    }

    args.IsValid = true;
}

function CausalRechazoRequerida(sender, args)
 {	
		
		args.IsValid =RequiredCombo(document.forms[0].cboCAU_ID_dplDropDown);
    return;
}

function LineaRequerida(sender, args)
 {	
    if (document.forms[0].dlpLineas_dplDropDown.length==0)
    {
         args.IsValid = false;
         return;
    }
    else
			args.IsValid = true;
}
function TipoPuntajeRequerido(sender, args)
 {	
    if (document.forms[0].dlpTiposPuntaje_dplDropDown.length==0)
    {
         args.IsValid = false;
         return;
    }
    else
			args.IsValid = true;
}

function VariableRequerido(sender, args)
 {	
    if (document.forms[0].dlpVariables_dplDropDown.length==0)
    {
         args.IsValid = false;
         return;
    }
    else
			args.IsValid = true;
}

function Indicador1Requerido(sender, args)
 {	
    if (document.forms[0].dlpIndicador1_dplDropDown.length==0)
    {
         args.IsValid = false;
         return;
    }
    else
			args.IsValid = true;
}

function Indicador2Requerido(sender, args)
 {	
    if (document.forms[0].dlpIndicador2_dplDropDown.length==0)
    {
         args.IsValid = false;
         return;
    }
    else
			args.IsValid = true;
}


function ResumenEventoRequerido(sender, args)
 {
	
    if (document.forms[0].txtResumen.length==0)
    {
         args.IsValid = false;
         return;
    }
    else
			args.IsValid = true;
}

function ContenidoEventoRequerido(sender, args)
 {	
    if (document.forms[0].txtContenido.length==0)
    {
         args.IsValid = false;
         return;
    }
    else
			args.IsValid = true;
}


function habilitarRegimenTributario()
{
	
	if (document.forms[0].opcPRO_REGIMEN_TRIBUTARIO_rdbSiNo_1.checked)
	{	
		document.forms[0].txtPRO_TARIFA.disabled=false;		
		document.forms[0].txtPRO_TARIFA.focus();
		
		document.forms[0].opcPRO_GRAN_CONTRIBUYENTE_rdbSiNo_1.checked=false;
		document.forms[0].opcPRO_GRAN_CONTRIBUYENTE_rdbSiNo_0.checked=false;
		document.all.opcPRO_GRAN_CONTRIBUYENTE_rdbSiNo.disabled=true;		
		document.forms[0].opcPRO_GRAN_CONTRIBUYENTE_rdbSiNo_0.disabled=true;		
		document.forms[0].opcPRO_GRAN_CONTRIBUYENTE_rdbSiNo_1.disabled=true;		
		
	
	}
	else if(document.forms[0].opcPRO_REGIMEN_TRIBUTARIO_rdbSiNo_0.checked)
	{		
		document.forms[0].txtPRO_TARIFA.disabled=true;
		document.forms[0].txtPRO_TARIFA.value="";			
		document.all.opcPRO_GRAN_CONTRIBUYENTE_rdbSiNo.disabled=false;		
		document.forms[0].opcPRO_GRAN_CONTRIBUYENTE_rdbSiNo_0.disabled=false;		
		document.forms[0].opcPRO_GRAN_CONTRIBUYENTE_rdbSiNo_1.disabled=false;		
		document.forms[0].opcPRO_GRAN_CONTRIBUYENTE_rdbSiNo_0.checked=true;
		document.all.opcPRO_GRAN_CONTRIBUYENTE_rdbSiNo.focus();		
	}
	
	
	return(true);
}

function CargarPuntaje(box, Texto)
{
	var strValor = box.options[box.selectedIndex].value;
	var astrValor=strValor.split(",");
	
	if (astrValor[1].toLowerCase()=='n')
	{
	 Texto.disabled=true;
	 Texto.value = astrValor[2];
	}

	if (astrValor[1].toLowerCase()=='s')
	{
	 Texto.disabled=false;
	 Texto.value='';
	 Texto.focus();
	}
}

function porcentaje(objSouceControl1, objSouceControl2, objTarjetControl, strDecimalSeparator) 
{
	if (!isNaN(objSouceControl1.value) && !isNaN(objSouceControl2.value))
		{
			var valor1 = parseFloat(objSouceControl1.value);
			var valor2 = parseFloat(objSouceControl2.value)
			var resultado =	(valor2 / valor1) * 100;
			resultado = roundNumber(resultado, 2);
			
			if (resultado >= 100)
				{
					alert('El VALOR SOLICITADO no puede superar el VALOR TOTAL DEL PROYECTO. Por favor corrija este valor para poder continuar.');
					objSouceControl2.value='';
				}
			 
			var strResultado = resultado.toString().replace('.', strDecimalSeparator);
			var strResultado = strResultado.replace(',', strDecimalSeparator);
			objTarjetControl.value = strResultado;
		}
}

function ValidaIntermediario(sender, args)
{
	if (document.forms[0].SinoIntermediario_rdbSiNo_0.checked==true)
	{
		args.IsValid=true;
	}
	else
	{
		if (sender.id=="cusSOS_NOMBRE_INTERMEDIARIO")
		{
			if (document.forms[0].txtSOS_NOMBRE_INTERMEDIARIO.value=="")
				args.IsValid=false;
			else
				args.IsValid=true;
		}
		if (sender.id=="cusSOS_NRO_DOCUMENTO_INTERMEDIARIO")
		{
			if (document.forms[0].txtSOS_NRO_DOCUMENTO_INTERMEDIARIO.value=="")
				args.IsValid=false;
			else
				args.IsValid=true;
		}
	}
}

function VerificarSeleccionPuntajes () 
{ 
return true;

}
function LlamarReporte(){
	
	alert("Entro");
	//var 
	window.open("http://sinicweb/reportserver?%2fSIPA%2fActa_Comite_Tecnico_Espectaculos&rs:Command=Render");	
		
}

//Pre-Seleccion de Jurados - Modulo Estimulos
function PreSeleccion_PreCallBack(button) 
{
  // loop through all elements
  var frm =document.forms[0];
  
    // loop through all elements
    for (i=0; i<frm.length; i++) 
    {
        // Look for our checkboxes only
        if (frm.elements[i].name.indexOf("chkId") !=-1) 
        {
            // If any are checked then confirm alert, otherwise nothing happens
            if(frm.elements[i].checked) 
            {
                return confirm ('Esta seguro de Pre-Seleccionar los registros marcados?')
            }
        }
    }
    alert("Debe seleccionar por lo menos un registro");
    return(false);
}
//Seleccion de Jurados - Modulo Estimulos
function Seleccion_PreCallBack(button) 
{
  // loop through all elements
  var frm =document.forms[0];
  
    // loop through all elements
    for (i=0; i<frm.length; i++) 
    {
        // Look for our checkboxes only
        if (frm.elements[i].name.indexOf("chkId") !=-1) 
        {
            // If any are checked then confirm alert, otherwise nothing happens
            if(frm.elements[i].checked) 
            {
                return confirm ('Esta seguro de Seleccionar los registros marcados?')
            }
        }
    }
    alert("Debe seleccionar por lo menos un registro");
    return(false);
}

function DesHabilitaMinoriaEtnica()
{
	InhabilitarCombo('AgentesBasicos_lblAGE_OTRA_MINORIA', true);
	InhabilitarCombo('AgentesBasicos_txtAGE_OTRA_MINORIA', true);
}

 /*-------------------------------------------------------------------------------------*/
 /*---- Fin Otros metodos para controlar operaciones que requieren confirmación --------*/
 /*-------------------------------------------------------------------------------------*/

 /*****************************************************************************/
 /******** Metodos para ejecutar operaciones básicas sobre controles **********/
 /*****************************************************************************/

function showhide(what,what2,nivel)
	{
		if (what==null || what2==null)
		{
			return;
		}
		
		if (what.style.display=='none')
		{
			what.style.display='';
			switch(nivel)
			{
				case 1:
						what2.src=Open.src;
					break;
				case 2:
						what2.src=Open1.src;
					break;
			}
		}
		else
		{
			what.style.display='none'
			switch(nivel)
			{
				case 1:
						what2.src=Closed.src;
					break;
				case 2:
						what2.src=Closed1.src;
					break;
			}
		}
}

function setControl(control)
{
	if (control != null)
	{
		try{
			control.focus();
			}
		catch(e) {}
	}		
}


function habilitarCbo(chk,control)
{
		control.disabled=chk.checked;
}

function habilitarTXT(chk,control)
{
  control.disabled=!chk.checked;
  if(!chk.checked)
  {
  control.value="";
  }
}

function habilitarLBL(chk,control)
{
		if(!chk.checked)
			control.disabled = "disabled" ;
		else 
		    control.disabled = "";
		
}
function habilitarCampos()
{
		var cbo;
		var chkbox=habilitarCampos.arguments[0];
		
		for (i = 1; i<habilitarCampos.arguments.length; i++)
		{
			cbo=habilitarCampos.arguments[i];						
			cbo.disabled=chkbox.checked;			
			if (cbo.type=="checkbox")
			{
				cbo.checked=chkbox.checked;
			}				
		}
}

function habilitarCalendarios()
{
		var cbo;
		var chkbox=habilitarCalendarios.arguments[0];
		
		for (i = 1; i<habilitarCalendarios.arguments.length; i++)
		{
			cbo=habilitarCalendarios.arguments[i];						

			if (chkbox.checked)
				cbo.style.display='none';
			else
				cbo.style.display='';
		}
}

function habilitarCamposInverso()
{
		var cbo;
		var chkbox=habilitarCamposInverso.arguments[0];
		for (i = 1; i<habilitarCamposInverso.arguments.length; i++)
		{
			cbo=habilitarCamposInverso.arguments[i];
			cbo.disabled=!chkbox.checked;
			if (cbo.type=="checkbox")
			{
				cbo.checked=chkbox.checked;
			}
			if (cbo.type=="select-one")
			{
				cbo.disabled=chkbox.checked;
				if(cbo.disabled == true)
				{
					cbo.selectedIndex = -1;
				}
				else
				{
					cbo.selectedIndex = 0;
				}
			}
		}
}

function habilitarCamposSINO()
{
	var cbo;
	var chkbox=habilitarCamposSINO.arguments[0];
	for (i = 1; i<habilitarCamposSINO.arguments.length; i++)
	{
		cbo=habilitarCamposSINO.arguments[i];						
		cbo.disabled=chkbox.checked;			
		if (cbo.type!="checkbox")
		{
			if(chkbox.checked == false)
			{
				if (cbo.type=="text")
				{
					cbo.value = "";
				}
				if (cbo.type=="select-one")
				{
					if(cbo.disabled == true)
					{
						cbo.selectedIndex = -1;
					}
					else
					{
						cbo.selectedIndex = 0;
					}
				}
			}
		}
	}
	for (i = 1; i<habilitarCamposSINO.arguments.length; i++)
	{	
		cbo=habilitarCamposSINO.arguments[i];		
		if (cbo.type=="checkbox")
		{
			cbo.checked = true;
			cbo.click();				
		}
	}		
}


function habilitarCamposSINO_MantieneValores()
{
	var cbo;
	var chkbox=habilitarCamposSINO_MantieneValores.arguments[0];
	for (i = 1; i<habilitarCamposSINO_MantieneValores.arguments.length; i++)
	{
		cbo=habilitarCamposSINO_MantieneValores.arguments[i];						
		cbo.disabled=chkbox.checked;			
		if (cbo.type!="checkbox")
		{
			if(chkbox.checked == false)
			{
				if (cbo.type=="select-one")
				{
					if(cbo.disabled == true)
					{
						cbo.selectedIndex = -1;
					}
					else
					{
						cbo.selectedIndex = 0;
					}
				}
			}
		}
	}
	for (i = 1; i<habilitarCamposSINO_MantieneValores.arguments.length; i++)
	{	
		cbo=habilitarCamposSINO_MantieneValores.arguments[i];		
		if (cbo.type=="checkbox")
		{
			cbo.checked = true;
			cbo.click();				
		}
	}		
}


function habilitarCamposSINOInverso()
{
	var cbo;
	var chkbox=habilitarCamposSINOInverso.arguments[0];
	for (i = 1; i<habilitarCamposSINOInverso.arguments.length; i++)
	{
		cbo=habilitarCamposSINOInverso.arguments[i];						
		cbo.disabled=chkbox.checked;
		if (cbo.type!="checkbox")
		{
			if(chkbox.checked == false)
			{				
				if (cbo.type=="text")
				{
					cbo.value = "";
				}
				if (cbo.type=="select-one")
				{
					if(cbo.disabled == true)
					{
						cbo.selectedIndex = -1;
					}
					else
					{
						cbo.selectedIndex = 0;
					}
				}
			}
		}
	}
	for (i = 1; i<habilitarCamposSINOInverso.arguments.length; i++)
	{	
		cbo=habilitarCamposSINOInverso.arguments[i];		
		if (cbo.type=="checkbox")
		{
			cbo.checked = true;
			cbo.click();				
		}
	}		
}

function habilitarCamposCombo()
{
	var cbo;
	var cbobox=habilitarCamposCombo.arguments[0];
	var arre=cbobox.value.split(";");
	var estado=false;
	if (arre[1]=="0")
		estado=true;
	for (i = 1; i<habilitarCamposCombo.arguments.length; i++)
	{
		cbo=habilitarCamposCombo.arguments[i];
		cbo.disabled=estado;
	}
}
/*Permite habilitar o inhabilitar un combo
	idCombo: identificador del combo
	disabled: true para deshabilitarlo, false para habilitarlo*/

function InhabilitarCombo(idCombo, disabled)
{
	var combo = document.getElementById(idCombo);
	
	if (combo!=null)
	{
		combo.disabled = disabled;
	}
}


function MostrarOcultarPanel(chk,pnl1,pln2)
{

	pnl1.visble=!chk.checked;
	pnl2.visible=chk.checked;	

}
function OcultarCampos()
{
/*Oculta los campos cuento el check es seleccionado*/
		var cbo;
		var chkbox=OcultarCampos.arguments[0];
		
		
		for (i = 1; i<OcultarCampos.arguments.length; i++)
		{
			cbo=OcultarCampos.arguments[i];					
			if (chkbox.checked)
				cbo.style.display='none';
			else
				cbo.style.display='';
		}
}

function OcultarCamposInv()
{
/*Oculta los campos cuento el check no esta seleccionado*/
		var cbo;
		var chkbox=OcultarCampos.arguments[0];
		
		
		for (i = 1; i<OcultarCampos.arguments.length; i++)
		{
			cbo=OcultarCampos.arguments[i];					
			if (chkbox.checked)
				cbo.style.display='none';
			else
				cbo.style.display='';
		}
}

// Parametro 1: El valor Actual
// Parametro 2: Valor que habilita el control. si este valor es igual al Parametro 1, entonces habilita el 
//							control del Parametro 2
// Parametro 3 en adelante2: Controles a Habilitar
function HabilitarInhabilitarCampos()
{
	var objControl;
	var objControlModificador = HabilitarInhabilitarCampos.arguments[0];
	var strModificador = HabilitarInhabilitarCampos.arguments[1];
	var blnHabilitar = HabilitarInhabilitarCampos.arguments[2];
	
	for (i = 3; i <HabilitarInhabilitarCampos.arguments.length; i++)
	{
		objControl=HabilitarInhabilitarCampos.arguments[i];
		
		switch (objControlModificador.type)
		{
			case "checkbox":
					objControl.disabled= objControlModificador.checked;
				break;
			case "radiobutton":
					if (objControlModificador.checked && objControlModificador.value == strModificador)
						objControl.disabled=blnHabilitar;
					else
						objControl.disabled=blnHabilitar;
				break;
			case "select-one":
					if (objControlModificador.options[objControlModificador.selectedIndex].value == strModificador)
						{
						objControl.disabled=blnHabilitar;
						if (objControl.name.indexOf('cal')!=-1)
								eval(objControl.name + '_outer.disabled='+ blnHabilitar)
						}
					else
						{
							objControl.disabled=!blnHabilitar;
							if (objControl.name.indexOf('cal')!=-1)
									eval(objControl.name + '_outer.disabled='+ !blnHabilitar)
						}
				break;
		}
	}
}

/*Permite obtener el valor seleccionado de un RadioButton o RadioButtonList*/
function getRbCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}


function habilitarObservaciones(sender,texto)
{
	var opc= document.getElementById(sender+"_1");
	var texto= document.getElementById(texto);			
	texto.disabled=opc.checked;
	if (opc.checked)
	{
	texto.value="";
	}
}

function clientvalidate(source, args)
	{
   //alert(args.value);
	if (args.Value == 0)
			args.IsValid = false;
	else
			args.IsValid = true;
 }

function BrowserSize()
{
	var winW = 630, winH = 460;
	if (parseInt(navigator.appVersion)>3) {
		if (navigator.appName=="Netscape") {
			winW = window.innerWidth;
			winH = window.innerHeight;
		}
		if (navigator.appName.indexOf("Microsoft")!=-1) {
			winW = document.body.offsetWidth;
			winH = document.body.offsetHeight;
		}
	}
}

// Validar la Longitud máxima de un Campo texarea
function textAreaMaxLength(field, maxlimit) 
{
	if (field.value.length > maxlimit)
		field.value = field.value.substring(0, maxlimit);
}
// Desmarca Todos los Registros de la Lista
function freeList(whichList)
{
	for (i=0; i<whichList.options.length; i++)
	{
		whichList.options[i].selected=false;
	}
}
//  Permite manejar los listbox como de solo lectura. 
// Ej: <SELECT multiple onmouseover="freezeList(this);">
function freezeList(whichList)
{
	var array_selected = new Array();
	for (i=0; i<whichList.options.length; i++) 
	{
		if (whichList.options[i].selected)
		{
			array_selected.push(i);
		}
	}
	whichList.onchange=function()
		{
		for (i=0; i<whichList.options.length; i++)
		{
			whichList.options[i].selected=false;
		}
		for (j=0; j<array_selected.length; j++)
		{
			for (i=0; i<whichList.length; i++)
			{
				if (array_selected[j] == i)
				{
					whichList.options[i].selected=true;	
				}
			}
		}
	}
	whichList.className="greyed";
}

function RequiredCombo (objField)
{   
	var strTest = new String(objField.value);
	var bResult = true;
	var cant = 0;

	if (!objField.disabled) {
		// Is s empty?
		if (IsEmpty(strTest)) 
			bResult = false;

		// Search through string's characters one by one
		// until we find a non-whitespace character.
		// When we do, return false; if we don't, return true.

		if (bResult)
		{ 
			var i;
			for (i = 0; i < strTest.length; i++)
				if (strTest.charAt(i) == " ") 
					cant = cant + 1
					
			if (strTest.length == cant)
				bResult = false;
			else
				bResult = true;
		}
		
	}
	
	return bResult;
}

function BuscaCombo(evt, combo, textBox)
{
	if (!combo.disabled)
	{
		var key = nav4 ? evt.which : evt.keyCode;
		var caracter = String.fromCharCode(key);
		
		if((key<65 || key>90) && (key<97 || key>122) && (key>241 || key<241) && (key>209 || key<209) && (key>32 || key<32))
		event.returnValue = false
		
		textBox.value = textBox.value + caracter; 
		Ubica(combo, textBox);
		textBox.value=textBox.value.substr(0,textBox.value.length-1);
	}
}

function BuscaComboConNumeros(evt, combo, textBox)
{
	if (!combo.disabled)
	{
		var key = nav4 ? evt.which : evt.keyCode;
		var caracter = String.fromCharCode(key);
			
		textBox.value = textBox.value + caracter; 
		Ubica(combo, textBox);
		textBox.value=textBox.value.substr(0,textBox.value.length-1);
	}
}

function Ubica(combo, textBox)
{
	for (opcombo=0;opcombo<combo.length;opcombo++)
	{			
		var cadena=combo.options[opcombo].text;
		cadena=cadena.substr(0,textBox.value.length);

		if(cadena.toLowerCase() == textBox.value.toLowerCase())
		{ 
			combo.selectedIndex=opcombo;
			return Ubica;
		} 
	}
}

function LimpiarHttp(Control)
{
	td=document.getElementById(Control);
	//alert(td);
	if (td!=null)
	{
		td.value = td.value.split("http://").join("");
		td.value = td.value.split("https://").join("");
		td.value = "http://"+td.value;
		if (td.value=="http://")
		{
			td.value="";
		}
	}
}

function PonerHttp(Control)
{
	td=document.getElementById(Control);
	if (td!=null)
	{
		if (td.value=="")
		{
			td.value="http://";
		}
	}
}
//idUserControl - Si los tabs estan contenidos en un control de usuario se debe
//indicar el id cliente del respectivo control 
function despliegaGrupo(indiceGrupo,CantidadPestanas,grupo,idUserControl)
{		
	//var td;
	//var div;
	if (idUserControl==null)	
		document.getElementById("txtGrupoActivo").value = indiceGrupo;		
	else
		document.getElementById(idUserControl+"_txtGrupoActivo").value = indiceGrupo;
		
	//Oculta todas las Pestañas
	for(i=1;i<=CantidadPestanas;i++)
	{
		//Oculta TD
		if (idUserControl==null)
			td = document.getElementById("td"+grupo+i);
		else
			td = document.getElementById(idUserControl+"_td"+grupo+i);
			
		if (td!=null)
		{
			td.className="tab-activo";
		}
		//Oculta Div
		div = document.getElementById(grupo+i);		
		if (div!=null)
		{
			div.style.display='none';
		}		
	}
		
	//Activa la pestaña seleccionada		
	if (idUserControl==null)
		td=document.getElementById("td"+grupo+indiceGrupo);
	else
		td=document.getElementById(idUserControl+"_td"+grupo+indiceGrupo);
		
	if (td!=null)
	{
		td.className="tab-inactivo";
	}
	div=document.getElementById(grupo+indiceGrupo);
	if (div!=null)
	{
		div.style.display='';
	}
}

function OcultaGrupo(indiceGrupo,cantidadPestanas,grupo)
{
	var pestana;	
	document.getElementById("txtGrupoActivo").value=indiceGrupo;
	for(i=1;i<=cantidadPestanas;i++)
	{
		td=document.getElementById("td"+grupo+i);
		if (td!=null)
		{
				td.className="tab-activo";      
				td.style.visibility="hidden";
		}
		pestana=document.getElementById(grupo+i);	    
		if (pestana!=null)
		{
				pestana.style.display='none';
				//pestana.style.visibility='hidden';
		}	        
	}		
	td=document.getElementById("td"+grupo+indiceGrupo);	
	if (td!=null)
	{
		td.className="tab-inactivo";
		td.style.visibility="visible";
	}	
	pestana=document.getElementById(grupo+indiceGrupo);	
	if (pestana!=null)
	{
		pestana.style.display='';
		//pestana.style.visibility='visible';
	}
}   
				
function despliegaTodoGrupo(cantidadPestanas,grupo)
{
	var pestana;	           					
	for(i=1;i<=cantidadPestanas;i++)
	{		
		td=document.getElementById("td"+grupo+i);		            
		if (td!=null)
		{
			td.className="tab-activo";	
			td.style.visibility="visible";					
		}		            
		pestana=document.getElementById(grupo+i);
		if (pestana!=null)
		{
			pestana.style.display='';	
			pestana.style.visibility='visible';						
		}
	}
}        			
	
function validateMaxLen(field, maxLength)
{
	if (field.value.length > maxLength)
	{
			field.value = field.value.substring(0, maxLength);
	}
}

function ventana(nombre, ancho, alto)
{
	var atrib="resizable=no,width="+ancho+",height="+alto+",location=no,toolbar=no,menubar=no,scrollbars=yes,titlebar=no";
	var win = window.open(nombre, "ventana", atrib);
	win.opener = self;					
}
	
function navegar(nombre)
{	
	window.location=nombre;	
}
 /*-------------------------------------------------------------------------------------*/
 /*---------- FIN Metodos para controlar operaciones básicas sobre controles -----------*/
 /*-------------------------------------------------------------------------------------*/

 /*****************************************************************************/
 /****************** Metodos para ejecutar operaciones comunes ****************/
 /*****************************************************************************/

// Convert to UpperCase
function Upper(e,r)
{
	if ((e.keyCode >=65 && e.keyCode <=90) || e.keyCode == 192)
	{
		r.value = r.value.toUpperCase();
	}
}

function PasaMayusculas(campoid)
{
		//campoid.value=campoid.value.toUpperCase();	
		campoid.value = campoid.value.toUpperCase();
		var chr1 = new Array();
        var chr = new Array();
        chr1[0]=193;
        chr1[1]=201;
        chr1[2]=205;
        chr1[3]=211;
        chr1[4]=218;
        
        chr[0]="A";
        chr[1]="E";
        chr[2]="I";
        chr[3]="O";
        chr[4]="U";
            
		var largo=(campoid.value.length)*1;
	    
		for (var i=0; i<=4; i++)
		{
			var letra1=chr[i];
			var letra=unescape('%' + chr1[i].toString(16));
			for (var j=0;j<=(largo-1);j++)
				{
					if (campoid.value.charAt(j)==letra)
					{
						campoid.value=campoid.value.substring(0,j)+letra1+campoid.value.substring(j+1,largo);
					}
				}
		}
		return true;
}

function roundNumber(number, decimalplaces)
{
	var newnumber = Math.round(number*Math.pow(10,decimalplaces))/Math.pow(10,decimalplaces);
	return newnumber;
}

// Removes leading whitespaces
function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}

// Removes ending whitespaces
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}

// Removes leading and ending whitespaces
function trim( value ) {	
	return LTrim(RTrim(value));
}

function CopiarValor (obj1, obj2)
{
obj2.value=obj1.value;
}

function checkOnlyNumbers(str) {
    return /^ *[0-9]+ *$/.test(str);
}

function checkNumericControl(control)
{
	if (control.value.length > 0)
	{
		var result = checkOnlyNumbers(control.value);
		
		if (!result)
		{
			alert("Este es un campo numerico. Por favor remueva los caracteres invalidos (e.j., [, ?, /).");
			control.focus();
			return false;
		}
	}
	
	return true;	
}

function checkDecimalControl(control,keyCodeDecSing)
{	
	if (control.value.length > 0)
	{				
		var result = true;
		
		if (keyCodeDecSing == 44)
			result = /^\d+(\,\d+)?$/.test(control.value);
		else if (keyCodeDecSing == 46)
			result = /^\d+(\.\d+)?$/.test(control.value);
		 
		if (!result)
		{
			alert("Este no es un numero decimal valido. Por favor verifique.");
			control.focus();
			return false;
		}
	}
	
	return true;	
}

function acceptDecimal(evt,keyCodeDecSing){	
// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57
var key = nav4 ? evt.which : evt.keyCode;


if (keyCodeDecSing == 44 && key == 46)
{
	key = 44;
	if (!nav4)
	{		
		evt.keyCode = 44;
	}
	else
	{		
		evt.which = 44;
	}
}
return (key <= 13 || (key >= 48 && key <= 57) || key == keyCodeDecSing);
}

function acceptNum(evt){	
// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57	

//alert(evt.which);
//alert("Mouse button Number " + evt.which + "was pressed.")
var key = nav4 ? evt.which : evt.keyCode;
//alert(evt.keyCode);
return (key <= 13 || (key >= 48 && key <= 57));
}

function acceptChar(evt){	
// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57	
var key = nav4 ? evt.which : evt.keyCode;

return ( !( (key >= 1 && key <= 31) || (key >= 33 && key <= 45) || (key==47) || (key >= 58 && key <= 63) || (key >= 91 && key <= 96) || 
						(key >= 123 && key <=129) || (key >= 131 && key <= 192) || (key >= 194 && key <=200) || (key >= 255) ) );
}

// Acept:a Numeros, Letras, punto y Arroba
function acceptCharMail(evt){
var key = nav4 ? evt.which : evt.keyCode;

return ( !( (key >= 1 && key <= 31) || (key >= 33 && key <= 44) || (key==47) || (key >= 58 && key <= 63) || (key >= 91 && key <= 94) || (key == 96) || (key >= 123 && key <=129) || (key >= 131 && key <= 192) || (key >= 194 && key <=200) || (key==209) || (key==241) || (key >= 255) ) );
}

function acceptCharURL(evt){	
var key = nav4 ? evt.which : evt.keyCode;
return ( !( (key >= 1 && key <= 31) || (key >= 33 && key <= 45) || (key >= 59 && key <= 63) || (key >= 91 && key <= 94) ||  (key == 96) ||
						(key >= 123 && key <=129) || (key >= 131 && key <= 192) || (key >= 194 && key <=200) || (key >= 255) ) );
}

function acceptCharDir(evt){	
var key = nav4 ? evt.which : evt.keyCode;
return (!( (key >= 1 && key <= 31) || (key == 60) || (key == 62) ) );
}

//function acceptCharDir(evt){	
//var key = nav4 ? evt.which : evt.keyCode;
//return ( ( (key >= 1 && key <= 31) || (key = 33) ||(key >= 36 && key <= 37) || (key >= 42 && key <= 43) || (key >= 60 && key <= 63) || (key >= 91 && key <= 94) ||  (key == 96) ||
//						(key >= 123 && key <=129) || (key >= 131 && key <= 192) || (key >= 194 && key <=200) || (key >= 255) ) );
//}

//!"#$%&'()*+,-./
//33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 
//[\]^_`
// 91 92 93 94 95 96
//{|}
// 123 124 125 
//:;<=>?
//58 59 60 61 62 63
//¿ ´ ° ¨
//168 239 248 249
/*
á=225
é=233
í=237
ó=243
ú=250
Á=193
É=201
Í=205
Ó=211
Ú=218
ñ=241
Ñ=209
*/

// -->
// -->

function acceptAddress(evt){	
// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57	
var key = nav4 ? evt.which : evt.keyCode;
return (acceptNum(evt) || !( (key >= 33 && key <= 44) || (key >= 58 && key <= 63) || (key >= 91 && key <= 94) || (key==96) || (key >= 123 && key <=208) || (key >= 210 && key <=240) ));
}
//!"#$%&'()*+,
//33 34 35 36 37 38 39 40 41 42 43 44
//[\]^`
// 91 92 93 94 96
//{|}
// 123 124 125 
//:;<=>?
//58 59 60 61 62 63
//¿ ´ ° ¨
//168 239 248 249
// Ñ ñ
// 209 241
// -->
// -->
function validarNumeros(e) {
        tecla = (document.all)?e.keyCode:e.which;
        if (tecla==8) return true;
        patron = /\d/;
        return patron.test(String.fromCharCode(tecla));
}


//Funcion para corregir error de los contrloes FileUpload
function onkeyPress(e)
{
	var key = window.event ? e.keyCode : e.which;
	if (key == 13)
	StartClick();
	e.cancelBubble = true;
	e.returnValue = false;
	return false;
}

/*Función que controla el resize de los nuevos popup*/
function resizePopUp()
{
	var x=document.getElementById('overlay'); 
	var xiframe=document.getElementById('popupFrame');
	
	if (x!=null)
	{	
		if (x && x.style.display=='block')
		{
			if (parseInt(navigator.appVersion)>3)
	
			{
				if (navigator.appName=='Netscape') 
				{
					winW = window.innerWidth + window.scrollMaxX; 
					winH = window.innerHeight + window.scrollMaxY
				}
				if (navigator.appName.indexOf('Microsoft')!=-1) 
				{
					//Width
					if (document.body.offsetWidth >= document.body.scrollWidth) 
					{
						winW = document.body.offsetWidth + 20;
					}
					else
					{
						winW = document.body.scrollWidth;
					}
					//Height
					if (document.body.offsetHeight >= document.body.scrollHeight) 
					{
						winH = document.body.offsetHeight + 20;
					}
					else
					{
						winH = document.body.scrollHeight;
					}
					
				}
			}
			
			x.style.width = winW;
			x.style.height = winH;
			
			if (navigator.appName.indexOf('Microsoft')!=-1 && xiframe!=null) 
			{
				xiframe.style.width = winW;
				xiframe.style.height = winH;
			}
		}
	}
}

//
// FieldBuffer - Class for form-buffering, value-restoration and file-field resetting.
//
// Author: Christopher Bergren (Anjuna Moon)
// Created: Stockholm Sweden, July 25th, 2005
// License: Freeware (Please keep credits intact as a sign of good-will)
//
// METHODS:
// BufferForm(FormObject)
//		Buffers values from all input-elements except File and Button
// RestoreForm(FormObject)
//		Restores the buffered data to corresponding elements 
// ClearFileFields(FormObject)
//		Performs a Reset-operation that only affects File-elements
//
function FieldBuffer() {
	FieldBuffer.prototype.BufferForm=fnBufferForm;
	FieldBuffer.prototype.RestoreForm=fnRestoreForm;
	FieldBuffer.prototype.ClearFileFields=fnClearFileFields
	arrEls=new Array;		
	hshEls={};
	function fnBufferForm(oFrm) {
		oEls=oFrm.elements;
		for (i=0;i<oEls.length;i++) {
			arrEls[i]=new Element(oEls[i]);
		}
	}
	function fnRestoreForm(oFrm) {
		for (i=0;i<arrEls.length;i++) {
			oEl=arrEls[i];
			if (oEl.BufferThis)
				oEl.SetValue();
		}
	}
	function fnClearFileFields(oFrm) {
		this.BufferForm(oFrm);
		oFrm.reset();
		this.RestoreForm(oFrm);
	}
	function Element(oEl) {
		Element.prototype.SetValue=fnSetValue;
		this.Type=oEl.type;
		this.ObjRef=oEl;
		this.Required=false;
		this.CommonName='';
		switch(this.Type) {
			case 'select-one':
				this.Value=oEl.selectedIndex;
				this.BufferThis=true;
				break;
			case 'checkbox':
			case 'radio':
				this.Value=oEl.checked;
				this.BufferThis=true;
				break;
			case 'textarea':
			case 'text':
			case 'password':
			case 'hidden':
				this.Value=oEl.value;
				this.BufferThis=true;
				break;
			default:
				this.BufferThis=false;
		}
		function fnSetValue() {
			switch(this.Type) {
				case 'select-one':
					this.ObjRef.selectedIndex=this.Value;
					break;
				case 'checkbox':
				case 'radio':
					this.ObjRef.checked=this.Value;
					break;
				case 'textarea':
				case 'text':
				case 'password':
				case 'hidden':
					this.ObjRef.value=this.Value;
					break;
			}
		}
	}
}
 /*-------------------------------------------------------------------------------------*/
 /*------------------- FIN Metodos para ejecutar operaciones comunes -------------------*/
 /*-------------------------------------------------------------------------------------*/
